module tb_keyExpander
(
  //OUTPUTS
  //INPUTS
);

  reg [31:0] key0;
  reg [31:0] key1;
  reg [31:0] key2;
  reg [31:0] key3;
  reg [3:0] round;
  
  wire [31:0] out0;
  wire [31:0] out1;
  wire [31:0] out2;
  wire [31:0] out3;
  
  wire [31:0] out0_2;
  wire [31:0] out1_2;
  wire [31:0] out2_2;
  wire [31:0] out3_2;
  
  wire [31:0] out0_3;
  wire [31:0] out1_3;
  wire [31:0] out2_3;
  wire [31:0] out3_3;
  
  key_expander_sbox KEY_GEN
  (
    .word0_out (out0),
    .word1_out (out1),
    .word2_out (out2),
    .word3_out (out3),
    .word0     (key0),
    .word1     (key1),
    .word2     (key2),
    .word3     (key3),
    .round     (round),
    .enc_dec   (1'b1)
  );
  
    key_expander_sbox KEY_GEN_1
  (
    .word0_out (out0_2),
    .word1_out (out1_2),
    .word2_out (out2_2),
    .word3_out (out3_2),
    .word0     (out0),
    .word1     (out1),
    .word2     (out2),
    .word3     (out3),
    .round     (round + 1),
    .enc_dec   (1'b1)
  );
  
  key_expander_sbox KEY_GEN_2
  (
    .word0_out (out0_3),
    .word1_out (out1_3),
    .word2_out (out2_3),
    .word3_out (out3_3),
    .word0     (out0_2),
    .word1     (out1_2),
    .word2     (out2_2),
    .word3     (out3_2),
    .round     (round + 2),
    .enc_dec   (1'b1)
  );
  
initial
  begin
    key0 = 32'h16_15_7e_2b;
    key1 = 32'ha6_d2_ae_28;
    key2 = 32'h88_15_f7_ab;
    key3 = 32'h3c_4f_cf_09;
    round = 4'd1; 
  end
endmodule
